package com.sxf.redis.iredis;

/**
 * 
 * @description: key的相关
 * @author: zhangyb@ccccit.com.cn 
 * @date: 2021年1月5日 下午2:06:36
 */
public interface IKeyRedisUtils {
	
	/**
	 * 判断key是否存在
	 * @param nameSpace
	 * @param key
	 * @return
	 */
	Boolean existKey(String nameSpace, String key);

	/**
	 * 判断key是否存在
	 * @param key
	 * @return
	 */
	default Boolean existKey(String key) {
		return existKey(null, key);
	}
	
	/**
	 * 获取所有的key
	 * @param nameSpace
	 * @param keyPattern redis的key规则
	 * @return
	 */
	Iterable<String> getAllKey(String nameSpace, String keyPattern);
	
	/**
	 * 获取所有的key
	 * @param keyPattern
	 * @return
	 */
	default Iterable<String> getAllKey(String keyPattern) {
		return getAllKey(null, keyPattern);
	};
}
